1. Field of the Invention
The invention relates to an improved approach to searching for information in a visual computing environment, such as a computer application with a graphical user interface (GUI).
2. Description of the Related Art
Most modern computer applications have a graphical user interface (GUI) that allows the application user to easily and intuitively interact with the application. Instead of requiring the user to enter text commands in a text-based interface (such as DOS), the user simply clicks on a graphical GUI element (such as icons, visual indicators, or widgets) to provide instructions to the application. For example, a word processing program provides GUI elements such as a “save” button and an “underline” button. To save the document, the user need only click on the save button. Allowing the user to interact with the application through the GUI makes using the application simpler.
Computer applications have grown increasingly complex, and provide the user with a wide range of tools. To help the user use the program and its associated tools, computer applications generally provide a help topic index. The help feature is often organized as a text-based search. If the user wants to learn how to save, for example, and become familiar with different save options, the user enters the term “save” as a search term in a help screen. The computer application then looks up entries associated with the term “save” and provides information about the save button and its associated functionality.
A limitation of this traditional system is that the user needs to know the name of an appropriate keyword in order to enter it into the help screen search or to look it up in a table of contents. If the user does not know the proper keyword, the help feature may not return expected or useful results. Given the increasing complexity of computer applications, it is not uncommon for a user to see a tool, GUI element, or feature that she is unfamiliar with. In addition, features that are common across different applications may have different names; for example, one program may provide a tool or GUI element called “margins” for adjusting margins on a page, while another may provide the same functionality but call the tool “borders.”